IF OBJECT_ID(N'tempdb..#ecom_despatch', N'U') IS NOT NULL DROP TABLE #ecom_despatch; 
SELECT       
	delivery_header.dh_oh_id, 
	order_header.oh_ec_order_number AS order_id,
	order_header.oh_os_id AS order_status_id, 
	delivery_line_item.dli_qty AS quantity_despatched,
	order_line_item.oli_ec_item_number AS order_item_code,
	(SELECT stock_location.sl_name
	FROM stock_location
	WHERE order_line_item.oli_sl_id = stock_location.sl_id) AS stock_location,
	CONVERT(varchar,delivery_header.dh_datetime, 112) AS shipping_date,
	CASE WHEN courier_detail.cod_cdd_id = 13 THEN delivery_header.dh_metapack_carrier ELSE courier_detail.cod_name END AS shipping_carrier, 
	CASE WHEN courier_detail.cod_cdd_id = 13 THEN delivery_header.dh_metapack_service_name ELSE delivery_method.dm_description END AS shipping_method, 
	CASE WHEN courier_detail.cod_cdd_id = 13 THEN delivery_header.dh_metapack_carrier_consignment_code ELSE delivery_header.dh_consignment_number END AS shipping_tracking_number
INTO
	#ecom_despatch 
FROM
	delivery_header
	INNER JOIN delivery_line_item ON delivery_line_item.dli_dh_id = delivery_header.dh_id
	INNER JOIN order_line_item ON order_line_item.oli_id = delivery_line_item.dli_oli_id
	INNER JOIN order_header ON order_header.oh_id = order_line_item.oli_oh_id
	LEFT JOIN courier_detail ON courier_detail.cod_id = delivery_header.dh_cod_id
	INNER JOIN delivery_method ON delivery_method.dm_id = delivery_header.dh_dm_id
WHERE 
	(order_header.oh_os_id = 4 OR order_header.oh_os_id = 5 OR order_header.oh_os_id = 6)
	AND delivery_header.dh_ecommerce_exported = 0
	AND order_header.oh_ec_id = @ec_id;
	UPDATE delivery_header SET dh_ecommerce_exported = 1 WHERE delivery_header.dh_oh_id IN (SELECT dh_oh_id FROM #ecom_despatch); 
SELECT * FROM #ecom_despatch;

